Many on-line applications and services store and/or require access to sensitive data such as, for example, medical records and credit card information. In order to keep such sensitive data secure, on-line applications and services often store such sensitive data in an encrypted format.
Cryptographic algorithms may use encryption keys to encrypt data. Specifically, an encryption key may determine the functional output of a cryptographic algorithm. As such, an encryption key may be used to transform a piece of data from an unencrypted format into an encrypted format. Likewise, the encryption key may be used to transform the piece of data from its encrypted format back to its unencrypted format.